<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Symbol内置属性 </title>
</head>

<body>

  <script>
    /*
    Symbol.hasInstance：当其他的对象使用instanceof运算符，判断是否为该对象的实例时，会调用这个方法
    class Person {
      static [Symbol.hasInstance](param) {
        console.log(param);
        console.log("我被用来检测属性了");
        return false;
      }
    }

    let o = {};
    console.log(o instanceof Person) */

    // 对象的Symbol.isConcatSpreadable 属性等于的是一个布尔值，表示该对象用于Arrary.prototype.concat()时，是否可以展开
    const arr = [1, 2, 3];
    const arr2 = [4, 5, 6];
    arr2[Symbol.isConcatSpreadable] = false;
    console.log(arr.concat(arr2))

  </script>
</body>

</html>